.\"  -*- nroff -*-
.\"
.\" Process this file with
.\" groff -man -Tascii foo.1
.\"
.\" Copyright 2004, by Shaul Karl.
.\" Copyright 2010, by Joachim Nilsson.
.\"
.\" You may modify and distribute this document for any purpose, as
.\" long as this copyright notice remains intact.
.\"
.Dd October 31, 2010
.Dt INADYN 8 SMM
.Os
.Sh NAME
.Nm inadyn
.Nd a small DDNS client to maintain your presence on the Internet
.Sh SYNOPSIS
.Nm inadyn
.Bk
.Op Fl a, -alias Ar ALIAS Ns Op , Ns Ar HASH
.Op Fl b, -background
.Op Fl B, -bind Ar IFNAME
.Op Fl d, -drop-privs Ar USER Ns Op : Ns Ar GROUP
.Op Fl e, -exec Ar SCRIPT
.Op Fl f, -forced-update Ar SEC
.Op Fl F, -config Ar FILE
.Op Fl L, -logfile Ar FILE
.Op Fl P, -pidfile Ar FILE
.Op Fl c, -cachefile Ar FILE
.Op Fl s, -syslog
.Op Fl h, -help
.Op Fl i, -iface Ar IFNAME
.Op Fl n, -iterations Ar NUM
.Op Fl H, -checkip-url Ar SERVER Ns Oo : Ns Ar PORT Oc Ar URL
.Op Fl N, -server-name Ar SERVER Ns Op : Ns Ar PORT
.Op Fl U, -server-url Ar PATH
.Op Fl S, -system Ar PROVIDER
.Op Fl T, -period Ar SEC
.Op Fl u, -username Ar USERNAME
.Op Fl p, -password Ar PASSWORD
.Op Fl v, -version
.Op Fl V, -verbose Ar LEVEL
.Op Fl w, -wildcard
.Op Fl x, -proxy-server Ar SERVER Ns Op : Ns Ar PORT
.Ek
.Sh DESCRIPTION
.Nm inadyn
is a client for
.Dq open
name servers, also known as DDNS service providers.  That is,
it lets you have a public Internet name for your DHCP/PPPoE assigned system.  Some of
these services are free of charge for non-commercial use, others take a small fee,
but also provide more domains to choose from.
.Pp
Common DDNS service providers supported by
.Nm inadyn :
.Bl -bullet -compact
.It
http://www.dyndns.org
.It
http://freedns.afraid.org
.It
http://zoneedit.com
.It
http://www.no-ip.com
.It
http://www.easydns.com
.It
http://www.tzo.com
.It
http://www.3322.org
.It
http://www.dnsomatic.com
.It
http://www.tunnelbroker.net
.It
http://dns.he.net/
.It
http://www.dynsip.org
.It
http://www.sitelutions.com
.It
http://www.dnsexit.com
.It
http://www.changeip.com
.El
.Pp
The basic operation of
.Nm inadyn
is to periodically check whether the actual Internet accessible IP of your system is
the same one that is recorded in the name server, and update the name server records
when there is a mismatch.
.Sh OPTIONS
.Bl -tag -width Ds
.It Fl h, -help
Print a summary of the options and exit.
.It Fl u, -username Ar USERNAME
The username, if applicable. This might be referred to as hash.
.It Fl p, -password Ar PASSWORD
The password, if applicable.
.It Fl a, -alias Ar ALIAS
A host name alias. This option can appear multiple times, for each
domain that has the same IP.
.It Fl F, -config Ar FILE
The file name that contains
.Nm inadyn
command options exactly as specified in the
command line syntax (adds to those already present on the cmd line). The default
configuration file name,
.Pa /etc/inadyn.conf ,
is looked at automatically if
.Nm inadyn
is called without any command line options. The format is as expected
for a UNIX config file; the hash character is used to comment entire
lines.  Spaces are ingored.  The long options may be specified without
\-\- if placed at the beginning of the line.
.It Fl H, -checkip-url Ar SERVER Ns Oo : Ns Ar PORT Oc Ar URL
The client IP is detected by calling
.Ar URL
from this
.Ar SERVER Ns Oo : Ns Ar PORT Oc .
Defaults to http://checkip.dyndns.org.
.It Fl N, -server-name Ar SERVER Ns Op : Ns Ar PORT
The server that receives the update DNS requests.  When no proxy is specified it is
sufficient to set the
.Fl -system
option so that the default servers will be taken. The
option is useful for generic DynDNS services that support HTTP update.
.It Fl U, -server-url Ar PATH
The update path on the DynDNS server.
.It Fl S, -system Ar email@ddns-service.tld
DNS service to connect to.  Defaults to
.Ar default@dyndns.org .
.Bl -tag -width TERM -compact -offset indent
.It Cm default@dyndns.org
http://www.dyndns.org
.It Cm default@freedns.afraid.org
http://freedns.afraid.org
.It Cm default@zoneedit.com
http://zoneedit.com
.It Cm default@no-ip.com
http://www.no-ip.com
.It Cm default@easydns.com
http://www.easydns.com
.It Cm default@tzo.com
http://www.tzo.com
.It Cm dyndns@3322.org
http://www.3322.org
.It Cm default@dnsomatic.com
http://www.dnsomatic.com
.It Cm ipv6tb@he.net
http://www.tunnelbroker.net
.It Cm dyndns@he.net
http://dns.he.net/
.It Cm default@dynsip.org
http://www.dynsip.org
.It Cm default@sitelutions.com
http://www.sitelutions.com
.It Cm default@dnsexit.com
http://www.dnsexit.com
.It Cm default@changeip.com
http://www.changeip.com
.It Cm custom@http_svr_basic_auth
.El
.It Fl x, -proxy-server Ar SERVER Ns Op : Ns Ar PORT
HTTP proxy server name and port.  Default: N/A.
.It Fl T, -period Ar SEC
How often the IP is checked, in seconds. Default: apx 1 minute. Max: 10 days.
.It Fl f, -forced-update Ar SEC
How often the IP should be updated even if it is not changed. The time
should be given in seconds.
.It Fl -L, -logfile Ar FILE
The name, including the full path, of a log file.  See also the
.Fl --syslog
option, below.
.It Fl b, -background
Run in background. Output is sent to the UNIX syslog facilities
or to a log file, if one was specified.
.It Fl V, -verbose Ar LEVEL
Set the debug level, which is an integer between
.Ar 0
to
.Ar 5 .
.It Fl n, -iterations Ar NUM
Set the number of DNS updates. The default is
.Ar 0 ,
which means infinity.
.It Fl s, -syslog
Use the system
.Xr syslog 3
mechanism for log messages, warnings and error conditions.
.It Fl d, -drop-privs Ar USER Ns Op : Ns Ar GROUP
Drop privileges after initial setup to the given user and group.
.It Fl B, -bind Ar IFNAME
Set interface to bind to. Only on UNIX systems.
.It Fl i, -iface Ar IFNAME
Set interface to check for IP. Only on UNIX systems.
External IP check is not performed.
.It Fl P, -pidfile Ar FILE
Set pidfile, defaults to
.Pa /var/run/inadyn/inadyn.pid .
.It Fl c, -cachefile Ar FILE
Set cachefile, defaults to
.Pa /var/run/inadyn/inadyn.cache .
.It Fl e, -exec Ar SCRIPT
Full path to external command, or script, to run after a successful DDNS update.
.It Fl w, -wildcard
Enable domain name wildcarding for easydns.com. Default
disabled. For
.Nm inadyn
< 1.96.3 wildcarding was enabled by default.
.El
.Sh "TYPICAL USAGE"
.Ss http://www.dyndns.org
.Nm inadyn
.No -u username -p password -a my.registered.name
.Pp
.Nm inadyn
.No --username username --password password --period 60
.No --alias test.homeip.net --alias my.second.domain
.Pp
.Nm inadyn
.No --background -u test -p test --period 60
.No --alias test.homeip.net --alias my.second.domain
.No --logfile inadyn_srv.log
.Ss http://freedns.afraid.org
.Nm inadyn
.No --system default@freedns.afraid.org
.No -u username -p password -a my.registrated.name
.Pp
.Nm inadyn
.No -u username -p password
.No --period 60 --alias test.homeip.net
.No -a my.second.domain --system default@freedns.afraid.org
.Pp
The
.Dq hash
is automatically retrieved by
.Nm inadyn
using freedns API.
.Sh OUTPUT
.Nm inadyn
prints a message when the IP is updated. If no update is needed then by
default it prints a single
.Dq .\&
character, unless
.Fl -verbose
is set to
.Ar 0 .
Therefore, unless
.Fl -verbose
is set to
.Ar 0 ,
the log file will contains lot
of dots. When the connection goes down it could be that
.Nm inadyn
will print some error messages. Those are harmless and should be
followed by
.Dq OK
messages after the connection is back up.
.Sh SIGNALS
.Nm
responds to the following signals:
.Pp
.Bl -tag -width TERM -compact
.It HUP
Restarts
.Nm .
The configuration file is reread every time this signal is evoked. It
is also useful when a new DHCP/PPPoE lease or new gateway is
received. Please note that
.Nm
does not track such events by itself. You need an external monitor for
that.
.It TERM
Terminates
.Nm
gracefully.
.It INT
The same as TERM.
.It QUIT
The same as TERM.
.El
.Pp
For convenience in sending signals,
.Nm
writes its process ID to
.Pa /var/run/inadyn/inadyn.pid
upon startup.
.Sh FILES
.Bl -tag -width /var/tmp/pimd.cache -compact
.It Pa /etc/inadyn.conf
.It Pa /var/run/inadyn/inadyn.cache
.It Pa /var/run/inadyn/inadyn.pid
.El
.Sh SEE ALSO
.Xr inadyn.conf 5
.br
The
.Nm inadyn
home page is http://troglobit.com/inadyn.shtml.
.Sh AUTHORS
.Nm inadyn
was written by
.An -nosplit
.An Narcis Ilisei Aq inarcis2002@hotpop.com ,
.An Steve Horbachuk and later
.An Joachim Nilsson Aq troglobit@vmlinux.org .
.Pp
This manual page was initially written for the
.Em Debian GNU/Linux
system by
.An Shaul Karl Aq shaul@debian.org .
Later Joachim Nilsson picked up maintenance.
